Skip to content

fix: spring messaging kotlin async aware instrumentation#11047

Open
ygree wants to merge 9 commits intomasterfrom
ygree/spring-messaging-async-aware-instrumentation
Open

fix: spring messaging kotlin async aware instrumentation#11047
ygree wants to merge 9 commits intomasterfrom
ygree/spring-messaging-async-aware-instrumentation

Conversation

@ygree
Copy link
Copy Markdown
Contributor

@ygree ygree commented Apr 2, 2026

What Does This Do

Adds support for KotlinAwareInvocableHandlerMethod to pass the spring.consume context to a kotlin suspend consume fun and keep the span open for entire async execution.

Motivation

A kotlin suspend function execution isn't in scope of the spring.consume.

Additional Notes

Reuse slightly refactored AsyncResultExtensions class to provide a unified way of supporting different asynchronous results.

Supersedes: #10831 to keep the span open for entire async execution

Contributor Checklist

Jira ticket: APMS-18839

Note: Once your PR is ready to merge, add it to the merge queue by commenting /merge. /merge -c cancels the queue request. /merge -f --reason "reason" skips all merge queue checks; please use this judiciously, as some checks do not run at the PR-level. For more information, see this doc.

@ygree ygree added type: bug Bug report and fix inst: spring Spring instrumentation tag: concurrency Virtual Threads, Coroutines, Async, RX, Executors labels Apr 2, 2026
@ygree ygree self-assigned this Apr 2, 2026
@ygree ygree marked this pull request as ready for review April 2, 2026 23:20
@ygree ygree requested review from a team as code owners April 2, 2026 23:20
@ygree ygree requested a review from mcculls April 2, 2026 23:20
@ygree ygree force-pushed the ygree/spring-messaging-async-aware-instrumentation branch from 4885bba to 8eb2a7f Compare April 3, 2026 03:04
@ygree ygree force-pushed the ygree/spring-messaging-async-aware-instrumentation branch from 8eb2a7f to 7e0822f Compare April 3, 2026 03:17
@ygree ygree changed the title fix: spring messaging async aware instrumentation fix: spring messaging kotlin async aware instrumentation Apr 3, 2026
implements Instrumenter.ForSingleType, Instrumenter.HasMethodAdvice {

public KotlinAwareHandlerInstrumentation() {
super("spring-messaging", "spring-messaging-4");
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider adding an alias that specifically mentions kotlin, such as spring-messaging-kotlin - that would let us disable this specific instrumentation while leaving the main spring-messaging instrumentation enabled.

Comment on lines +45 to +49
@Override
public List<Instrumenter> typeInstrumentations() {
return Collections.singletonList(new KotlinAwareHandlerInstrumentation());
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this - use the default implementation of typeInstrumentations() which does the same thing

Suggested change
@Override
public List<Instrumenter> typeInstrumentations() {
return Collections.singletonList(new KotlinAwareHandlerInstrumentation());
}

span.finish();
}
if (null != error) {
DECORATE.onError(span, error);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this already done above in lines 97-99?

Copy link
Copy Markdown
Contributor

@mcculls mcculls left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks reasonable, just a couple of things to clean up before this can be merged

@ygree ygree requested a review from mcculls April 6, 2026 17:03
@pr-commenter
Copy link
Copy Markdown

pr-commenter bot commented Apr 6, 2026

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master ygree/spring-messaging-async-aware-instrumentation
git_commit_date 1775497568 1775499348
git_commit_sha b664cc0 ca4ac9c
release_version 1.61.0-SNAPSHOT~b664cc0f2a 1.61.0-SNAPSHOT~ca4ac9c8ef
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1775501415 1775501415
ci_job_id 1570620078 1570620078
ci_pipeline_id 106241182 106241182
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-gfc8jwgx 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-gfc8jwgx 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 59 metrics, 12 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.61.0-SNAPSHOT~ca4ac9c8ef, baseline=1.61.0-SNAPSHOT~b664cc0f2a

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.063 s) : 0, 1063392
Total [baseline] (8.857 s) : 0, 8857406
Agent [candidate] (1.056 s) : 0, 1055707
Total [candidate] (8.859 s) : 0, 8859460
section iast
Agent [baseline] (1.23 s) : 0, 1229715
Total [baseline] (9.536 s) : 0, 9535540
Agent [candidate] (1.22 s) : 0, 1220177
Total [candidate] (9.531 s) : 0, 9531402
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.063 s -
Agent iast 1.23 s 166.323 ms (15.6%)
Total tracing 8.857 s -
Total iast 9.536 s 678.134 ms (7.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.056 s -
Agent iast 1.22 s 164.47 ms (15.6%)
Total tracing 8.859 s -
Total iast 9.531 s 671.942 ms (7.6%)
gantt
    title insecure-bank - break down per module: candidate=1.61.0-SNAPSHOT~ca4ac9c8ef, baseline=1.61.0-SNAPSHOT~b664cc0f2a

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.24 ms) : 0, 1240
crashtracking [candidate] (1.216 ms) : 0, 1216
BytebuddyAgent [baseline] (636.741 ms) : 0, 636741
BytebuddyAgent [candidate] (632.233 ms) : 0, 632233
AgentMeter [baseline] (29.803 ms) : 0, 29803
AgentMeter [candidate] (29.198 ms) : 0, 29198
GlobalTracer [baseline] (250.664 ms) : 0, 250664
GlobalTracer [candidate] (248.215 ms) : 0, 248215
AppSec [baseline] (32.577 ms) : 0, 32577
AppSec [candidate] (32.05 ms) : 0, 32050
Debugger [baseline] (59.865 ms) : 0, 59865
Debugger [candidate] (58.992 ms) : 0, 58992
Remote Config [baseline] (604.589 µs) : 0, 605
Remote Config [candidate] (603.096 µs) : 0, 603
Telemetry [baseline] (8.162 ms) : 0, 8162
Telemetry [candidate] (8.137 ms) : 0, 8137
Flare Poller [baseline] (7.491 ms) : 0, 7491
Flare Poller [candidate] (8.862 ms) : 0, 8862
section iast
crashtracking [baseline] (1.239 ms) : 0, 1239
crashtracking [candidate] (1.214 ms) : 0, 1214
BytebuddyAgent [baseline] (805.335 ms) : 0, 805335
BytebuddyAgent [candidate] (799.521 ms) : 0, 799521
AgentMeter [baseline] (11.585 ms) : 0, 11585
AgentMeter [candidate] (11.348 ms) : 0, 11348
GlobalTracer [baseline] (239.962 ms) : 0, 239962
GlobalTracer [candidate] (238.496 ms) : 0, 238496
IAST [baseline] (27.071 ms) : 0, 27071
IAST [candidate] (27.331 ms) : 0, 27331
AppSec [baseline] (31.343 ms) : 0, 31343
AppSec [candidate] (31.444 ms) : 0, 31444
Debugger [baseline] (57.583 ms) : 0, 57583
Debugger [candidate] (60.792 ms) : 0, 60792
Remote Config [baseline] (546.328 µs) : 0, 546
Remote Config [candidate] (575.832 µs) : 0, 576
Telemetry [baseline] (13.973 ms) : 0, 13973
Telemetry [candidate] (9.942 ms) : 0, 9942
Flare Poller [baseline] (4.364 ms) : 0, 4364
Flare Poller [candidate] (3.444 ms) : 0, 3444
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.61.0-SNAPSHOT~ca4ac9c8ef, baseline=1.61.0-SNAPSHOT~b664cc0f2a

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.06 s) : 0, 1059520
Total [baseline] (11.131 s) : 0, 11130915
Agent [candidate] (1.059 s) : 0, 1059221
Total [candidate] (11.094 s) : 0, 11093552
section appsec
Agent [baseline] (1.252 s) : 0, 1251939
Total [baseline] (11.128 s) : 0, 11128308
Agent [candidate] (1.246 s) : 0, 1246075
Total [candidate] (11.061 s) : 0, 11060727
section iast
Agent [baseline] (1.225 s) : 0, 1225140
Total [baseline] (11.308 s) : 0, 11308118
Agent [candidate] (1.241 s) : 0, 1240694
Total [candidate] (11.328 s) : 0, 11327515
section profiling
Agent [baseline] (1.182 s) : 0, 1182495
Total [baseline] (11.088 s) : 0, 11087978
Agent [candidate] (1.18 s) : 0, 1180494
Total [candidate] (11.205 s) : 0, 11204796
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.06 s -
Agent appsec 1.252 s 192.419 ms (18.2%)
Agent iast 1.225 s 165.62 ms (15.6%)
Agent profiling 1.182 s 122.975 ms (11.6%)
Total tracing 11.131 s -
Total appsec 11.128 s -2.607 ms (-0.0%)
Total iast 11.308 s 177.203 ms (1.6%)
Total profiling 11.088 s -42.937 ms (-0.4%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.059 s -
Agent appsec 1.246 s 186.855 ms (17.6%)
Agent iast 1.241 s 181.473 ms (17.1%)
Agent profiling 1.18 s 121.274 ms (11.4%)
Total tracing 11.094 s -
Total appsec 11.061 s -32.825 ms (-0.3%)
Total iast 11.328 s 233.964 ms (2.1%)
Total profiling 11.205 s 111.244 ms (1.0%)
gantt
    title petclinic - break down per module: candidate=1.61.0-SNAPSHOT~ca4ac9c8ef, baseline=1.61.0-SNAPSHOT~b664cc0f2a

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.239 ms) : 0, 1239
crashtracking [candidate] (1.24 ms) : 0, 1240
BytebuddyAgent [baseline] (634.903 ms) : 0, 634903
BytebuddyAgent [candidate] (635.413 ms) : 0, 635413
AgentMeter [baseline] (29.552 ms) : 0, 29552
AgentMeter [candidate] (29.329 ms) : 0, 29329
GlobalTracer [baseline] (249.023 ms) : 0, 249023
GlobalTracer [candidate] (248.003 ms) : 0, 248003
AppSec [baseline] (31.929 ms) : 0, 31929
AppSec [candidate] (32.012 ms) : 0, 32012
Debugger [baseline] (59.73 ms) : 0, 59730
Debugger [candidate] (59.994 ms) : 0, 59994
Remote Config [baseline] (616.969 µs) : 0, 617
Remote Config [candidate] (664.27 µs) : 0, 664
Telemetry [baseline] (8.088 ms) : 0, 8088
Telemetry [candidate] (8.078 ms) : 0, 8078
Flare Poller [baseline] (8.206 ms) : 0, 8206
Flare Poller [candidate] (8.21 ms) : 0, 8210
section appsec
crashtracking [baseline] (1.233 ms) : 0, 1233
crashtracking [candidate] (1.212 ms) : 0, 1212
BytebuddyAgent [baseline] (663.134 ms) : 0, 663134
BytebuddyAgent [candidate] (661.052 ms) : 0, 661052
AgentMeter [baseline] (12.174 ms) : 0, 12174
AgentMeter [candidate] (12.05 ms) : 0, 12050
GlobalTracer [baseline] (250.223 ms) : 0, 250223
GlobalTracer [candidate] (248.301 ms) : 0, 248301
IAST [baseline] (24.768 ms) : 0, 24768
IAST [candidate] (24.44 ms) : 0, 24440
AppSec [baseline] (184.809 ms) : 0, 184809
AppSec [candidate] (183.931 ms) : 0, 183931
Debugger [baseline] (66.243 ms) : 0, 66243
Debugger [candidate] (66.09 ms) : 0, 66090
Remote Config [baseline] (605.379 µs) : 0, 605
Remote Config [candidate] (597.619 µs) : 0, 598
Telemetry [baseline] (8.755 ms) : 0, 8755
Telemetry [candidate] (8.585 ms) : 0, 8585
Flare Poller [baseline] (3.586 ms) : 0, 3586
Flare Poller [candidate] (3.521 ms) : 0, 3521
section iast
crashtracking [baseline] (1.229 ms) : 0, 1229
crashtracking [candidate] (1.249 ms) : 0, 1249
BytebuddyAgent [baseline] (802.673 ms) : 0, 802673
BytebuddyAgent [candidate] (813.384 ms) : 0, 813384
AgentMeter [baseline] (11.372 ms) : 0, 11372
AgentMeter [candidate] (11.624 ms) : 0, 11624
GlobalTracer [baseline] (238.642 ms) : 0, 238642
GlobalTracer [candidate] (241.261 ms) : 0, 241261
IAST [baseline] (25.75 ms) : 0, 25750
IAST [candidate] (26.171 ms) : 0, 26171
AppSec [baseline] (31.189 ms) : 0, 31189
AppSec [candidate] (30.672 ms) : 0, 30672
Debugger [baseline] (58.787 ms) : 0, 58787
Debugger [candidate] (63.725 ms) : 0, 63725
Remote Config [baseline] (526.625 µs) : 0, 527
Remote Config [candidate] (538.209 µs) : 0, 538
Telemetry [baseline] (13.793 ms) : 0, 13793
Telemetry [candidate] (11.83 ms) : 0, 11830
Flare Poller [baseline] (4.955 ms) : 0, 4955
Flare Poller [candidate] (3.677 ms) : 0, 3677
section profiling
crashtracking [baseline] (1.189 ms) : 0, 1189
crashtracking [candidate] (1.165 ms) : 0, 1165
BytebuddyAgent [baseline] (690.365 ms) : 0, 690365
BytebuddyAgent [candidate] (689.514 ms) : 0, 689514
AgentMeter [baseline] (9.089 ms) : 0, 9089
AgentMeter [candidate] (9.055 ms) : 0, 9055
GlobalTracer [baseline] (206.631 ms) : 0, 206631
GlobalTracer [candidate] (206.259 ms) : 0, 206259
AppSec [baseline] (32.456 ms) : 0, 32456
AppSec [candidate] (32.475 ms) : 0, 32475
Debugger [baseline] (65.631 ms) : 0, 65631
Debugger [candidate] (65.496 ms) : 0, 65496
Remote Config [baseline] (560.437 µs) : 0, 560
Remote Config [candidate] (560.819 µs) : 0, 561
Telemetry [baseline] (7.876 ms) : 0, 7876
Telemetry [candidate] (7.853 ms) : 0, 7853
Flare Poller [baseline] (3.547 ms) : 0, 3547
Flare Poller [candidate] (3.57 ms) : 0, 3570
ProfilingAgent [baseline] (94.001 ms) : 0, 94001
ProfilingAgent [candidate] (93.554 ms) : 0, 93554
Profiling [baseline] (94.573 ms) : 0, 94573
Profiling [candidate] (94.134 ms) : 0, 94134
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master ygree/spring-messaging-async-aware-instrumentation
git_commit_date 1775497568 1775499348
git_commit_sha b664cc0 ca4ac9c
release_version 1.61.0-SNAPSHOT~b664cc0f2a 1.61.0-SNAPSHOT~ca4ac9c8ef
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1775501897 1775501897
ci_job_id 1570620080 1570620080
ci_pipeline_id 106241182 106241182
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-7j6jymg1 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-7j6jymg1 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 1 performance improvements and 0 performance regressions! Performance is the same for 17 metrics, 18 unstable metrics.

scenario Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p95 Δ mean throughput candidate mean agg_http_req_duration_p50 candidate mean agg_http_req_duration_p95 candidate mean throughput baseline mean agg_http_req_duration_p50 baseline mean agg_http_req_duration_p95 baseline mean throughput
scenario:load:petclinic:profiling:high_load better
[-2.341ms; -0.681ms] or [-11.507%; -3.346%]
unsure
[-2.835ms; -0.089ms] or [-8.865%; -0.277%]
unstable
[-10.616op/s; +41.178op/s] or [-4.638%; +17.989%]
18.836ms 30.515ms 244.188op/s 20.347ms 31.976ms 228.906op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~ca4ac9c8ef, baseline=1.61.0-SNAPSHOT~b664cc0f2a
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.256 ms) : 1244, 1268
.   : milestone, 1256,
iast (3.346 ms) : 3295, 3397
.   : milestone, 3346,
iast_FULL (6.116 ms) : 6053, 6179
.   : milestone, 6116,
iast_GLOBAL (3.743 ms) : 3683, 3804
.   : milestone, 3743,
profiling (2.507 ms) : 2482, 2531
.   : milestone, 2507,
tracing (1.874 ms) : 1859, 1889
.   : milestone, 1874,
section candidate
no_agent (1.227 ms) : 1216, 1238
.   : milestone, 1227,
iast (3.259 ms) : 3212, 3306
.   : milestone, 3259,
iast_FULL (6.051 ms) : 5989, 6113
.   : milestone, 6051,
iast_GLOBAL (3.724 ms) : 3662, 3786
.   : milestone, 3724,
profiling (2.336 ms) : 2311, 2361
.   : milestone, 2336,
tracing (1.87 ms) : 1855, 1885
.   : milestone, 1870,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.256 ms [1.244 ms, 1.268 ms] -
iast 3.346 ms [3.295 ms, 3.397 ms] 2.09 ms (166.4%)
iast_FULL 6.116 ms [6.053 ms, 6.179 ms] 4.86 ms (386.9%)
iast_GLOBAL 3.743 ms [3.683 ms, 3.804 ms] 2.487 ms (198.0%)
profiling 2.507 ms [2.482 ms, 2.531 ms] 1.251 ms (99.6%)
tracing 1.874 ms [1.859 ms, 1.889 ms] 617.762 µs (49.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.227 ms [1.216 ms, 1.238 ms] -
iast 3.259 ms [3.212 ms, 3.306 ms] 2.031 ms (165.5%)
iast_FULL 6.051 ms [5.989 ms, 6.113 ms] 4.824 ms (393.0%)
iast_GLOBAL 3.724 ms [3.662 ms, 3.786 ms] 2.497 ms (203.4%)
profiling 2.336 ms [2.311 ms, 2.361 ms] 1.108 ms (90.3%)
tracing 1.87 ms [1.855 ms, 1.885 ms] 642.778 µs (52.4%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~ca4ac9c8ef, baseline=1.61.0-SNAPSHOT~b664cc0f2a
    dateFormat X
    axisFormat %s
section baseline
no_agent (18.302 ms) : 18112, 18492
.   : milestone, 18302,
appsec (18.636 ms) : 18446, 18825
.   : milestone, 18636,
code_origins (17.787 ms) : 17612, 17962
.   : milestone, 17787,
iast (18.038 ms) : 17857, 18220
.   : milestone, 18038,
profiling (20.396 ms) : 20183, 20608
.   : milestone, 20396,
tracing (17.603 ms) : 17431, 17775
.   : milestone, 17603,
section candidate
no_agent (18.498 ms) : 18314, 18683
.   : milestone, 18498,
appsec (18.581 ms) : 18395, 18767
.   : milestone, 18581,
code_origins (18.008 ms) : 17829, 18188
.   : milestone, 18008,
iast (18.616 ms) : 18431, 18801
.   : milestone, 18616,
profiling (19.11 ms) : 18915, 19306
.   : milestone, 19110,
tracing (17.697 ms) : 17525, 17870
.   : milestone, 17697,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.302 ms [18.112 ms, 18.492 ms] -
appsec 18.636 ms [18.446 ms, 18.825 ms] 333.471 µs (1.8%)
code_origins 17.787 ms [17.612 ms, 17.962 ms] -515.633 µs (-2.8%)
iast 18.038 ms [17.857 ms, 18.22 ms] -263.946 µs (-1.4%)
profiling 20.396 ms [20.183 ms, 20.608 ms] 2.093 ms (11.4%)
tracing 17.603 ms [17.431 ms, 17.775 ms] -699.025 µs (-3.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.498 ms [18.314 ms, 18.683 ms] -
appsec 18.581 ms [18.395 ms, 18.767 ms] 82.361 µs (0.4%)
code_origins 18.008 ms [17.829 ms, 18.188 ms] -490.101 µs (-2.6%)
iast 18.616 ms [18.431 ms, 18.801 ms] 117.449 µs (0.6%)
profiling 19.11 ms [18.915 ms, 19.306 ms] 611.569 µs (3.3%)
tracing 17.697 ms [17.525 ms, 17.87 ms] -801.051 µs (-4.3%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master ygree/spring-messaging-async-aware-instrumentation
git_commit_date 1775497568 1775499348
git_commit_sha b664cc0 ca4ac9c
release_version 1.61.0-SNAPSHOT~b664cc0f2a 1.61.0-SNAPSHOT~ca4ac9c8ef
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1775501479 1775501479
ci_job_id 1570620082 1570620082
ci_pipeline_id 106241182 106241182
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-90pd409v 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-90pd409v 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics.

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~ca4ac9c8ef, baseline=1.61.0-SNAPSHOT~b664cc0f2a
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.502 ms) : 1491, 1514
.   : milestone, 1502,
appsec (2.551 ms) : 2496, 2607
.   : milestone, 2551,
iast (2.294 ms) : 2224, 2364
.   : milestone, 2294,
iast_GLOBAL (2.318 ms) : 2249, 2388
.   : milestone, 2318,
profiling (2.106 ms) : 2051, 2162
.   : milestone, 2106,
tracing (2.093 ms) : 2039, 2147
.   : milestone, 2093,
section candidate
no_agent (1.493 ms) : 1481, 1504
.   : milestone, 1493,
appsec (3.826 ms) : 3601, 4052
.   : milestone, 3826,
iast (2.286 ms) : 2217, 2356
.   : milestone, 2286,
iast_GLOBAL (2.33 ms) : 2259, 2400
.   : milestone, 2330,
profiling (2.141 ms) : 2083, 2199
.   : milestone, 2141,
tracing (2.09 ms) : 2036, 2144
.   : milestone, 2090,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.502 ms [1.491 ms, 1.514 ms] -
appsec 2.551 ms [2.496 ms, 2.607 ms] 1.049 ms (69.8%)
iast 2.294 ms [2.224 ms, 2.364 ms] 791.463 µs (52.7%)
iast_GLOBAL 2.318 ms [2.249 ms, 2.388 ms] 816.011 µs (54.3%)
profiling 2.106 ms [2.051 ms, 2.162 ms] 603.944 µs (40.2%)
tracing 2.093 ms [2.039 ms, 2.147 ms] 590.252 µs (39.3%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.493 ms [1.481 ms, 1.504 ms] -
appsec 3.826 ms [3.601 ms, 4.052 ms] 2.334 ms (156.4%)
iast 2.286 ms [2.217 ms, 2.356 ms] 793.724 µs (53.2%)
iast_GLOBAL 2.33 ms [2.259 ms, 2.4 ms] 837.052 µs (56.1%)
profiling 2.141 ms [2.083 ms, 2.199 ms] 648.357 µs (43.4%)
tracing 2.09 ms [2.036 ms, 2.144 ms] 597.43 µs (40.0%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~ca4ac9c8ef, baseline=1.61.0-SNAPSHOT~b664cc0f2a
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.104 s) : 15104000, 15104000
.   : milestone, 15104000,
appsec (15.031 s) : 15031000, 15031000
.   : milestone, 15031000,
iast (18.516 s) : 18516000, 18516000
.   : milestone, 18516000,
iast_GLOBAL (17.722 s) : 17722000, 17722000
.   : milestone, 17722000,
profiling (14.915 s) : 14915000, 14915000
.   : milestone, 14915000,
tracing (14.812 s) : 14812000, 14812000
.   : milestone, 14812000,
section candidate
no_agent (15.551 s) : 15551000, 15551000
.   : milestone, 15551000,
appsec (14.614 s) : 14614000, 14614000
.   : milestone, 14614000,
iast (18.306 s) : 18306000, 18306000
.   : milestone, 18306000,
iast_GLOBAL (17.936 s) : 17936000, 17936000
.   : milestone, 17936000,
profiling (15.017 s) : 15017000, 15017000
.   : milestone, 15017000,
tracing (15.056 s) : 15056000, 15056000
.   : milestone, 15056000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.104 s [15.104 s, 15.104 s] -
appsec 15.031 s [15.031 s, 15.031 s] -73.0 ms (-0.5%)
iast 18.516 s [18.516 s, 18.516 s] 3.412 s (22.6%)
iast_GLOBAL 17.722 s [17.722 s, 17.722 s] 2.618 s (17.3%)
profiling 14.915 s [14.915 s, 14.915 s] -189.0 ms (-1.3%)
tracing 14.812 s [14.812 s, 14.812 s] -292.0 ms (-1.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.551 s [15.551 s, 15.551 s] -
appsec 14.614 s [14.614 s, 14.614 s] -937.0 ms (-6.0%)
iast 18.306 s [18.306 s, 18.306 s] 2.755 s (17.7%)
iast_GLOBAL 17.936 s [17.936 s, 17.936 s] 2.385 s (15.3%)
profiling 15.017 s [15.017 s, 15.017 s] -534.0 ms (-3.4%)
tracing 15.056 s [15.056 s, 15.056 s] -495.0 ms (-3.2%)

@ygree
Copy link
Copy Markdown
Contributor Author

ygree commented Apr 6, 2026

/merge

@gh-worker-devflow-routing-ef8351
Copy link
Copy Markdown

gh-worker-devflow-routing-ef8351 bot commented Apr 6, 2026

View all feedbacks in Devflow UI.

2026-04-06 19:40:39 UTC ℹ️ Start processing command /merge
Use /merge -c to cancel this operation!


2026-04-06 19:40:44 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 2h (p90).

Use /merge -c to cancel this operation!


⏳ Processing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

inst: spring Spring instrumentation tag: concurrency Virtual Threads, Coroutines, Async, RX, Executors type: bug Bug report and fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants